/**
 * 用户管理系统
 */

// 全局变量
let users = [];
let currentPage = 1;
let rowsPerPage = 10;
let totalPages = 0;
let totalUsers = 0;

// DOM元素
const tableBody = document.getElementById('tableBody');
const pageNumbers = document.getElementById('pageNumbers');
const prevPage = document.getElementById('prevPage');
const nextPage = document.getElementById('nextPage');
const pageSizeSelect = document.getElementById('pageSize');
const username = document.getElementById('username');
const userType = document.getElementById('userType');
const searchBtn = document.getElementById('searchBtn');
const loader = document.getElementById('compact-loader');

// 统计元素
const totalUsersElement = document.getElementById('totalUsers');
const ownerCountElement = document.getElementById('ownerCount');
const totalFavoritesElement = document.getElementById('totalFavorites');
const totalCheckinsElement = document.getElementById('totalCheckins');

// 初始化页面
function init() {
    renderTable();
    addEventListeners();
}

// 渲染表格
function renderTable() {
    showLoader();

    const searchData = {
        username: username.value || '',
        userType: userType.value || '',
        page: currentPage,
        pageSize: rowsPerPage
    };

    console.log('请求参数:', searchData);

    $.ajax({
        url: 'user/list',
        type: 'POST',
        data: searchData,
        success: function (data) {
            if (data.code == 200) {
                console.log('响应数据:', data);

                // 直接使用后端返回的数据，不需要前端再次分页
                users = data.data.rows || [];
                totalUsers = data.data.total;
                totalPages = Math.ceil(totalUsers / rowsPerPage);

                console.log('分页信息:', {
                    currentPage,
                    totalPages,
                    totalUsers,
                    rowsPerPage
                });

                // 渲染表格内容
                renderTableBody();

                // 渲染分页控件
                renderPagination();

                hideLoader();
            } else {
                console.error('API返回错误:', data.message);
                showError('获取用户数据失败: ' + data.message);
                hideLoader();
            }
        },
        error: function(xhr, status, error) {
            console.error('请求失败:', error);
            showError('网络请求失败，请稍后重试');
            hideLoader();
        }
    });
}

// 渲染表格内容
function renderTableBody() {
    tableBody.innerHTML = '';

    if (users.length === 0) {
        tableBody.innerHTML = `
            <tr>
                <td colspan="7" class="text-center py-4 text-muted">
                    <i class="bi bi-inbox"></i> 暂无用户数据
                </td>
            </tr>
        `;
        return;
    }

    users.forEach(user => {
        const row = document.createElement('tr');
        row.innerHTML = `
            <td>${user.id}</td>
            <td>
                ${user.icon ?
            `<img src="${user.icon}" class="user-avatar" alt="${user.username}的头像">` :
            `<div class="user-avatar-placeholder"><i class="bi bi-person"></i></div>`
        }
            </td>
            <td>${escapeHtml(user.username || '')}</td>
            <td>
                <span class="status-badge ${user.isOwner ? 'status-owner' : 'status-user'}">
                    ${user.isOwner ? '店主' : '普通用户'}
                </span>
            </td>
            <td>${user.likeCount || 0}</td>
            <td>${user.checkCount || 0}</td>
            <td>
                <button class="btn-view" data-id="${user.id}">
                    <i class="bi bi-eye"></i> 查看
                </button>
                <button class="btn-edit" data-id="${user.id}">
                    <i class="bi bi-pencil"></i> 编辑
                </button>
                <button class="btn-delete" data-id="${user.id}">
                    <i class="bi bi-trash"></i> 删除
                </button>
            </td>
        `;
        tableBody.appendChild(row);
    });
}

// 渲染分页
function renderPagination() {
    console.log('渲染分页 - 当前页:', currentPage, '总页数:', totalPages, '总用户数:', totalUsers);

    pageNumbers.innerHTML = '';

    // 上一页按钮状态
    prevPage.disabled = currentPage === 1;

    // 下一页按钮状态
    nextPage.disabled = currentPage === totalPages || totalPages === 0;

    // 如果没有数据或只有一页，显示单个页码
    if (totalPages <= 1) {
        if (totalPages === 1) {
            const pageBtn = document.createElement('button');
            pageBtn.className = 'page-btn active';
            pageBtn.textContent = '1';
            pageBtn.addEventListener('click', () => goToPage(1));
            pageNumbers.appendChild(pageBtn);
        }
        return;
    }

    // 多页情况下的页码显示逻辑
    const maxVisiblePages = 5;
    let startPage = Math.max(1, currentPage - Math.floor(maxVisiblePages / 2));
    let endPage = Math.min(totalPages, startPage + maxVisiblePages - 1);

    // 调整起始页，确保显示足够的页码
    if (endPage - startPage + 1 < maxVisiblePages) {
        startPage = Math.max(1, endPage - maxVisiblePages + 1);
    }

    // 显示第一页和省略号（如果需要）
    if (startPage > 1) {
        const firstPage = document.createElement('button');
        firstPage.className = 'page-btn';
        firstPage.textContent = '1';
        firstPage.addEventListener('click', () => goToPage(1));
        pageNumbers.appendChild(firstPage);

        if (startPage > 2) {
            const ellipsis = document.createElement('span');
            ellipsis.textContent = '...';
            ellipsis.style.padding = '0 10px';
            ellipsis.style.color = '#6c757d';
            pageNumbers.appendChild(ellipsis);
        }
    }

    // 显示中间页码
    for (let i = startPage; i <= endPage; i++) {
        const pageBtn = document.createElement('button');
        pageBtn.className = `page-btn ${i === currentPage ? 'active' : ''}`;
        pageBtn.textContent = i;
        pageBtn.addEventListener('click', () => goToPage(i));
        pageNumbers.appendChild(pageBtn);
    }

    // 显示最后一页和省略号（如果需要）
    if (endPage < totalPages) {
        if (endPage < totalPages - 1) {
            const ellipsis = document.createElement('span');
            ellipsis.textContent = '...';
            ellipsis.style.padding = '0 10px';
            ellipsis.style.color = '#6c757d';
            pageNumbers.appendChild(ellipsis);
        }

        const lastPage = document.createElement('button');
        lastPage.className = 'page-btn';
        lastPage.textContent = totalPages;
        lastPage.addEventListener('click', () => goToPage(totalPages));
        pageNumbers.appendChild(lastPage);
    }
}

// 跳转到指定页码
function goToPage(page) {
    console.log('跳转页面: 从', currentPage, '到', page);

    if (page < 1 || page > totalPages || page === currentPage) {
        return;
    }

    currentPage = page;
    renderTable(); // 重新请求数据并渲染
}

// 显示加载动画
function showLoader() {
    if (loader) {
        loader.style.display = 'flex';
    }
}

// 隐藏加载动画
function hideLoader() {
    if (loader) {
        loader.style.display = 'none';
    }
}

// 显示成功消息
function showSuccess(message) {
    const alert = document.getElementById('success-alert');
    const messageSpan = document.getElementById('success-message');
    if (alert && messageSpan) {
        messageSpan.textContent = message;
        alert.style.display = 'flex';

        setTimeout(() => {
            alert.style.display = 'none';
        }, 2000);
    }
}

// 显示错误消息
function showError(message) {
    const alert = document.getElementById('error-alert');
    const messageSpan = document.getElementById('error-message');
    if (alert && messageSpan) {
        messageSpan.textContent = message;
        alert.style.display = 'flex';

        setTimeout(() => {
            alert.style.display = 'none';
        }, 2000);
    }
}

// HTML转义函数
function escapeHtml(unsafe) {
    if (!unsafe) return '';
    return unsafe
        .replace(/&/g, "&amp;")
        .replace(/</g, "&lt;")
        .replace(/>/g, "&gt;")
        .replace(/"/g, "&quot;")
        .replace(/'/g, "&#039;");
}

// 添加事件监听器
function addEventListeners() {
    // 分页按钮
    prevPage.addEventListener('click', () => {
        if (currentPage > 1) {
            goToPage(currentPage - 1);
        }
    });

    nextPage.addEventListener('click', () => {
        if (currentPage < totalPages) {
            goToPage(currentPage + 1);
        }
    });

    // 每页显示条数选择器
    pageSizeSelect.addEventListener('change', (e) => {
        rowsPerPage = parseInt(e.target.value);
        currentPage = 1; // 重置到第一页
        renderTable();
    });

    // 搜索按钮
    searchBtn.addEventListener('click', () => {
        currentPage = 1; // 重置到第一页
        renderTable();
    });

    // 搜索框回车事件
    username.addEventListener('keypress', (e) => {
        if (e.key === 'Enter') {
            currentPage = 1;
            renderTable();
        }
    });

    // 用户类型选择变化
    userType.addEventListener('change', () => {
        currentPage = 1;
        renderTable();
    });

    // 表格按钮事件委托
    tableBody.addEventListener('click', (e) => {
        const target = e.target.closest('button');
        if (!target) return;

        const id = parseInt(target.getAttribute('data-id'));
        const user = users.find(u => u.id === id);
        if (!user) return;

        if (target.classList.contains('btn-edit')) {
            // 编辑按钮
            // alert(`编辑用户: ${user.username}`);
            const userId = target.closest('tr').querySelector('td:first-child').textContent;
            editUser(userId);
        } else if (target.classList.contains('btn-delete')) {
            // 删除按钮
            if (confirm(`确定要删除用户 "${user.username}" 吗？`)) {
                showSuccess(`用户 ${user.username} 删除成功`);
                // 在实际应用中，这里应该调用API删除用户
                renderTable(); // 重新加载数据
            }
        } else if (target.classList.contains('btn-view')) {
            // 查看按钮
            // alert(`查看用户: ${user.username}\n用户类型: ${user.isOwner ? '店主' : '普通用户'}\n收藏数: ${user.likeCount || 0}\n打卡数: ${user.checkCount || 0}`);
            const userId = target.closest('tr').querySelector('td:first-child').textContent;
            viewUser(userId);
        }
    });

    // 提示框关闭按钮
    document.querySelectorAll('.alert-close').forEach(btn => {
        btn.addEventListener('click', (e) => {
            const alert = e.target.closest('.alert');
            if (alert) {
                alert.style.display = 'none';
            }
        });
    });
}

// 初始化应用
document.addEventListener('DOMContentLoaded', init);
// 查看用户详情函数
function viewUser(userId) {
    // 显示加载动画
    showLoader();

    // 模拟从服务器获取用户详细信息
    // 实际应用中这里应该是AJAX请求
    setTimeout(() => {
        // 模拟用户数据
        const userData = getUserDetailData(userId);

        // 填充数据到查看模态框
        populateViewModal(userData);

        // 显示查看模态框
        document.getElementById('viewUserModal').style.display = 'flex';

        // 隐藏加载动画
        hideLoader();
    }, 500);
}

// 模拟获取用户详细数据
function getUserDetailData(userId) {
    // 这里应该是从服务器获取的实际数据
    // 暂时使用模拟数据
    let users =null;
    $.ajax({
        url:"user/findById",
        type:"post",
        data:{
            id:userId
        },
        async:false,
        success:function (res){
            users = res.data;
            console.log(res.data)
        },
        error:function (res){
            users = {
                id: userId,
                username: '未知用户',
                type: '普通用户',
                avatar: '',
                registerTime: '未知',
                lastLogin: '未知',
                phone: '未知',
                email: '未知',
                status: '未知',
                favorites: 0,
                checkins: 0,
                reviews: 0,
                description: '暂无描述'
            };
        }
    })
    return users;
}

// 填充查看模态框数据
function populateViewModal(userData) {
    console.log(userData)
    document.getElementById('viewUserId').textContent = userData.id;
    document.getElementById('viewUsername').textContent = userData.username;
    document.getElementById('viewUserType').textContent = (userData.isOwner == 1 ? '店主' : '普通用户');
    document.getElementById('viewRegisterTime').textContent = userData.ReTime;
    document.getElementById('viewLastLogin').textContent = userData.lastLoginTime;
    document.getElementById('viewPhone').textContent = userData.phone;
    document.getElementById('viewEmail').textContent = userData.email;
    document.getElementById('viewStatus').textContent = userData.status;
    document.getElementById('viewFavorites').textContent = userData.likeCount;
    document.getElementById('viewCheckins').textContent = userData.checkCount;
    document.getElementById('viewReviews').textContent = userData.reviewCount;
    // document.getElementById('viewDescription').textContent = userData.description;
    document.querySelector(".user-avatar-large-placeholder img").src=userData.icon;
    // 设置用户类型标签样式
    const userTypeElement = document.getElementById('viewUserType');
    userTypeElement.className = 'status-badge ' + (userData.type === '店主' ? 'status-owner' : 'status-user');
}

// 关闭查看模态框
function closeViewModal() {
    document.getElementById('viewUserModal').style.display = 'none';
}

// 显示加载动画
function showLoader() {
    document.getElementById('compact-loader').style.display = 'flex';
}

// 隐藏加载动画
function hideLoader() {
    document.getElementById('compact-loader').style.display = 'none';
}

// 点击模态框外部关闭
document.addEventListener('DOMContentLoaded', function() {
    const viewModal = document.getElementById('viewUserModal');
    if (viewModal) {
        viewModal.addEventListener('click', function(e) {
            if (e.target === this) {
                closeViewModal();
            }
        });
    }
});
// 编辑用户信息函数
function editUser(userId) {
    // 显示加载动画
    showLoader();

    // 模拟从服务器获取用户详细信息
    setTimeout(() => {
        // 模拟用户数据
        const userData = getUserDetailData(userId);
        console.log(userData+"传入的数据")
        // 填充数据到编辑表单
        populateEditForm(userData);

        // 显示编辑模态框
        document.getElementById('editUserModal').style.display = 'flex';

        // 隐藏加载动画
        hideLoader();
    }, 100);
}

// 填充编辑表单数据
function populateEditForm(userData) {
    document.querySelector("#editAvatarPreview").src=userData.icon
    document.getElementById('editUserId').value = userData.id;
    document.getElementById('editUsername').value = userData.username;
    document.getElementById('editUserType').value = userData.isOwner
    document.getElementById('editPhone').value = userData.phone
    document.getElementById('editEmail').value = userData.email;
    document.getElementById('editStatus').value = userData.status
    document.getElementById('editDescription').value = userData.description;

    // 如果有头像，设置预览
    if (userData.avatar) {
        document.getElementById('editAvatarPreview').src = userData.avatar;
    }
}

// 保存用户更改
function saveUserChanges() {
    console.log(1)
    // 获取表单数据
    const formData = {
        id: document.getElementById('editUserId').value,
        username: document.getElementById('editUsername').value.trim(),
        isOwner: document.getElementById('editUserType').value,
        phone: document.getElementById('editPhone').value.trim(),
        email: document.getElementById('editEmail').value.trim(),
        status: document.getElementById('editStatus').value,
        description: document.getElementById('editDescription').value.trim(),
        icon:document.getElementById('editAvatarPreview').src
    };

    // 表单验证
    if (!validateEditForm(formData)) {
        return;
    }

    // 显示加载动画
    showLoader();
    console.log('保存用户数据:', formData);
    $.ajax({
        url: '/user/updateById',
        type:"post",
        data:formData,
        async:false,
        success:function (res){
            console.log(res)
            // 更新表格中的用户信息
            updateUserInTable(formData);

            // 显示成功消息
            showSuccessAlert('用户信息更新成功');

            // 关闭模态框
            closeEditModal();

            // 隐藏加载动画
            hideLoader();
        },error(res){
            console.log(res)
            showErrorAlert('用户信息更新失败')
        }
    })


}

// 表单验证
function validateEditForm(formData) {
    // 用户名验证
    if (!formData.username) {
        showErrorAlert('用户名不能为空');
        document.getElementById('editUsername').focus();
        return false;
    }

    if (formData.username.length < 2 || formData.username.length > 20) {
        showErrorAlert('用户名长度应在2-20个字符之间');
        document.getElementById('editUsername').focus();
        return false;
    }

    // 手机号验证
    if (formData.phone && !/^1[3-9]\d{9}$/.test(formData.phone)) {
        showErrorAlert('请输入有效的手机号码');
        document.getElementById('editPhone').focus();
        return false;
    }

    // 邮箱验证
    if (formData.email && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(formData.email)) {
        showErrorAlert('请输入有效的邮箱地址');
        document.getElementById('editEmail').focus();
        return false;
    }

    return true;
}

// 更新表格中的用户信息
function updateUserInTable(userData) {
    const rows = document.querySelectorAll('#tableBody tr');
    rows.forEach(row => {
        const rowUserId = row.querySelector('td:first-child').textContent;
        if (rowUserId === userData.id) {
            // 更新用户名
            row.querySelector('td:nth-child(3)').textContent = userData.username;
            console.log(row.querySelector('td:nth-child(2) img'))
            row.querySelector('td:nth-child(2) img').src = userData.icon;
            // 更新用户类型
            const typeBadge = row.querySelector('td:nth-child(4) .status-badge');
            if (typeBadge) {
                typeBadge.textContent = userData.type === '1' ? '店主' : '普通用户';
                typeBadge.className = 'status-badge ' + (userData.type === '1' ? 'status-owner' : 'status-user');
            }

            // 可以在这里更新其他字段...
        }
    });

}

// 关闭编辑模态框
function closeEditModal() {
    document.getElementById('editUserModal').style.display = 'none';
    // 重置表单（可选）
    // document.getElementById('editUserForm').reset();
}

// 显示错误提示
function showErrorAlert(message) {
    const errorAlert = document.getElementById('error-alert');
    const errorMessage = document.getElementById('error-message');

    errorMessage.textContent = message;
    errorAlert.style.display = 'flex';

    // 3秒后自动隐藏
    setTimeout(() => {
        errorAlert.style.display = 'none';
    }, 3000);
}
function showSuccessAlert(message) {
    const successAlert = document.getElementById('success-alert');
    const successMessage = document.getElementById('success-message');

    successMessage.textContent = message;
    successAlert.style.display = 'flex';

    // 3秒后自动隐藏
    setTimeout(() => {
        successAlert.style.display = 'none';
    }, 3000);
}
// 头像上传功能
function initAvatarUpload() {
    const avatarInput = document.getElementById('editAvatar');
    const avatarPreview = document.getElementById('editAvatarPreview');

    avatarInput.addEventListener('change', function(e) {
        const file = e.target.files[0];
        if (file) {
            // 验证文件类型
            if (!file.type.startsWith('image/')) {
                showErrorAlert('请选择图片文件');
                return;
            }

            // 验证文件大小（限制为2MB）
            if (file.size > 2 * 1024 * 1024) {
                showErrorAlert('图片大小不能超过2MB');
                return;
            }

            const reader = new FileReader();
            reader.onload = function(event) {
                avatarPreview.src = event.target.result;
                const formData = new FormData();
                console.log("file是什么"+file)
                formData.append("file", file);  // "file" 必须和后端参数名一致
                $.ajax({
                    url: "/upload",  // 替换为你的Servlet URL
                    type: "POST",
                    data: formData,
                    processData: false,      // 禁止jQuery处理数据（文件上传必须）
                    contentType: false,      // 禁止设置Content-Type（浏览器自动生成multipart/form-data）
                    cache: false,            // 禁用缓存// 禁止设置Content-Type请求头（浏览器会自动设置）
                    success: function (response) {
                        imgSrc = response.data
                        console.log(imgSrc)
                        document.getElementById('editAvatarPreview').src=imgSrc
                    },error: function(xhr, status, error) {
                        console.error("上传失败:", error);
                        $("#result").html("上传失败: " + (xhr.responseText || error));
                    }
                });
            };
            reader.readAsDataURL(file);
        }
    });
}

// 模拟头像上传函数
function uploadAvatar(file, userId) {
    const formData = new FormData();
    formData.append('avatar', file);
    formData.append('userId', userId);

    // 实际应用中应该是AJAX请求
    console.log('上传头像:', { userId, fileName: file.name });

    // 模拟上传延迟
    setTimeout(() => {
        showSuccessAlert('头像上传成功');
    }, 1500);
}

// 初始化编辑相关事件
document.addEventListener('DOMContentLoaded', function() {
    // 点击模态框外部关闭
    const editModal = document.getElementById('editUserModal');
    if (editModal) {
        editModal.addEventListener('click', function(e) {
            if (e.target === this) {
                closeEditModal();
            }
        });
    }

    // 初始化头像上传
    initAvatarUpload();

    // 表单提交事件
    const editForm = document.getElementById('editUserForm');
    if (editForm) {
        editForm.addEventListener('submit', function(e) {
            e.preventDefault();
            saveUserChanges();
        });
    }

    // 回车键提交表单
    document.addEventListener('keydown', function(e) {
        if (e.key === 'Enter' && editModal.style.display === 'flex') {
            const activeElement = document.activeElement;
            if (activeElement.tagName !== 'TEXTAREA') {
                e.preventDefault();
                saveUserChanges();
            }
        }
    });
});
// 打开添加用户模态框
function openAddUserModal() {
    // 重置表单
    document.getElementById('addUserForm').reset();

    // 重置头像预览
    const preview = document.getElementById('addAvatarPreview');
    const placeholder = document.getElementById('addAvatarPlaceholder');
    preview.style.display = 'none';
    placeholder.style.display = 'flex';

    // 显示模态框
    document.getElementById('addUserModal').style.display = 'flex';

    // 初始化头像上传
    initAddAvatarUpload();
}

// 关闭添加用户模态框
function closeAddModal() {
    document.getElementById('addUserModal').style.display = 'none';
}

// 初始化头像上传
function initAddAvatarUpload() {
    const avatarInput = document.getElementById('addAvatar');
    const preview = document.getElementById('addAvatarPreview');
    const placeholder = document.getElementById('addAvatarPlaceholder');
    const previewWrapper = document.querySelector('.avatar-preview-wrapper');

    // 点击预览区域选择文件
    previewWrapper.addEventListener('click', () => {
        avatarInput.click();
    });

    // 文件选择变化
    avatarInput.addEventListener('change', function(e) {
        const file = e.target.files[0];
        if (file) {
            // 验证文件
            if (!validateImageFile(file)) return;

            const reader = new FileReader();
            reader.onload = function(event) {
                preview.src = event.target.result;
                preview.style.display = 'block';
                placeholder.style.display = 'none';
                const formData = new FormData();
                console.log("file是什么"+file)
                formData.append("file", file);  // "file" 必须和后端参数名一致
                $.ajax({
                    url: "/upload",  // 替换为你的Servlet URL
                    type: "POST",
                    data: formData,
                    processData: false,      // 禁止jQuery处理数据（文件上传必须）
                    contentType: false,      // 禁止设置Content-Type（浏览器自动生成multipart/form-data）
                    cache: false,            // 禁用缓存// 禁止设置Content-Type请求头（浏览器会自动设置）
                    success: function (response) {
                        document.getElementById('addAvatarPreview').src=response.data
                    },error: function(xhr, status, error) {
                        console.error("上传失败:", error);
                        $("#result").html("上传失败: " + (xhr.responseText || error));
                    }
                });
            };

            reader.readAsDataURL(file);
        }
    });
}

// 验证图片文件
function validateImageFile(file) {
    if (!file.type.startsWith('image/')) {
        showErrorAlert('请选择图片文件（JPG、PNG等格式）');
        return false;
    }

    if (file.size > 2 * 1024 * 1024) {
        showErrorAlert('图片大小不能超过2MB');
        return false;
    }

    return true;
}

// 提交添加用户
function submitAddUser() {
    const formData = new FormData(document.getElementById('addUserForm'));

    // 表单验证
    if (!validateAddForm(formData)) {
        return;
    }
    console.log(formData)
    showLoader();
    // document.getElementById('addAvatar1').value=document.getElementById('addAvatarPreview').src
    console.log(document.getElementById('addAvatarPreview').src)
    imgSc = document.getElementById('addAvatarPreview').src
    formData.append("icon",imgSc)
    for (const [key, value] of formData) {
        console.log(key + ': ' + value);
    }
    console.log(formData)
    $.ajax({
        url: '/user/add',
        type: 'POST',
        data: formData,
        processData: false,
        contentType: false,
        success: function(response) {
            if (response.code === 200) {
                showSuccessAlert('用户添加成功');
                closeAddModal();
                // 刷新用户列表
                renderTable();
            } else {
                showErrorAlert('添加失败: ' + response.message);
            }
        },
        error: function(xhr, status, error) {
            showErrorAlert('添加失败: ' + error);
        },
        complete: function() {
            hideLoader();
        }
    });
}

// 表单验证
function validateAddForm(formData) {
    const username = formData.get('username');
    const password = formData.get('password');
    const userType = formData.get('isOwner');

    if (!username || username.length < 2 || username.length > 20) {
        showErrorAlert('用户名长度应为2-20个字符');
        return false;
    }

    if (!password || password.length < 6) {
        showErrorAlert('密码长度至少6位');
        return false;
    }

    if (!userType) {
        showErrorAlert('请选择用户类型');
        return false;
    }

    return true;
}